import java.util.ArrayList;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: mirac
 * Date: 2025-09-10
 * Time: 22:46
 */
public class Solution {
    public List<List<Integer>> generate(int numRows){
        List<List<Integer>> lists = new ArrayList<>();
        List<Integer> list = new ArrayList<>();
        //处理第一行
        list.add(1);
        lists.add(list);

        for (int i = 1; i < numRows; i++) {
            List<Integer> cur = new ArrayList<>();
            //处理每行的第一个元素
            cur.add(1);

            //处理每行的中间

            //获取上一行的元素
            List<Integer> prev = lists.get(i-1);
            for (int j = 1; j < i; j++) {
                //表示上一行第 j 个位置的元素
                int val1 = prev.get(j);
                //表示上一行第 j-1 个位置的元素
                int val2 = prev.get(j - 1);
                cur.add(val1 + val2);
            }
            //处理每行的最后一个元素
            cur.add(1);

            //将这一行放入顺序表中
            lists.add(cur);
        }
        return lists;
    }
}
